package com.isoft.c2team3service2.service;
// 正确：导入自定义的PageResult（你的bean包下的类）
import com.isoft.c2team3service2.bean.PageResult;
import com.baomidou.mybatisplus.extension.service.IService;
import com.isoft.c2team3service2.entity.UserMessage;
import com.isoft.c2team3service2.entity.UserMessageVO;

import java.util.List;

public interface UserMessageService extends IService<UserMessage> {
    // 发送消息（含未关注限制）
    boolean sendMessage(Integer receiverId, String content);

    // 查询与指定用户的会话
    List<UserMessageVO> getConversation(Integer receiverId, Integer page, Integer size);

    // 标记消息为已读
    boolean markAsRead(List<Integer> messageIds);

    // 查询未读消息总数
    Integer getUnreadCount();
    /**
     * 新增：查询当前用户收到的消息（分页+可选状态筛选）
     * @param page 页码（默认1）
     * @param size 页大小（默认20）
     * @param status 消息状态（可选：0-未读，1-已读，null-查所有）
     * @return 消息列表（含分页总条数）
     */
    PageResult<UserMessageVO> getReceivedMessages(Integer page, Integer size, Integer status);
}
